3e42646465eaad72d14f0729207a482bcdbd87cc,src/org/pentaho/di/job/entries/waitforfile/JobEntryWaitForFile.java,JobEntryWaitForFile,execute,#Result#number#Repository#Job#,177

Before Change


    			{
    				// If lower than 1 set to the default
    				iCycleTime = Const.toInt(DEFAULT_CHECK_CYCLE_TIME, 1);
    				log.logBasic(toString(), "Check cycle time invalid, reset to " + iCycleTime);
    			}

    			if ( iMaximumTimeout == 0 )
    			{
    				log.logBasic(toString(), "Waiting indefinitely for file [" +
    						realFilename + "]");
    			}
    			else
    			{
    				log.logBasic(toString(), "Waiting " + iMaximumTimeout + " seconds for file [" +
    						realFilename + "]");
    			}

    			boolean continueLoop = true;
    			while ( continueLoop && !parentJob.isStopped() )
    			{
        			fileObject = KettleVFS.getFileObject(realFilename);

    				if ( fileObject.exists() )
    				{
    					// file exists, we're happy to exit
    					log.logBasic(toString(), "Detected file [" + realFilename + "] within timeout");
    					result.setResult( true );
    					continueLoop = false;
    				}
    				else
    				{
    					long now = System.currentTimeMillis() / 1000;

    					if ( (iMaximumTimeout > 0) &&
    							(now > (timeStart + iMaximumTimeout)))
    					{
    						continueLoop = false;

    						// file doesn't exist after timeout, either true or false
    						if ( isSuccessOnTimeout() )
    						{
    							log.logBasic(toString(), "Didn't detect file [" + realFilename + "] before timeout, success");
    							result.setResult( true );
    						}
    						else
    						{
    							log.logBasic(toString(), "Didn't detect file [" + realFilename + "] before timeout, failure");
    							result.setResult( false );
    						}
    					}

After Change


    			{
    				// If lower than 1 set to the default
    				iCycleTime = Const.toInt(DEFAULT_CHECK_CYCLE_TIME, 1);
    				if(log.isBasic()) log.logBasic(toString(), "Check cycle time invalid, reset to " + iCycleTime);
    			}

    			if ( iMaximumTimeout == 0 )
    			{
    				if(log.isBasic()) log.logBasic(toString(), "Waiting indefinitely for file [" +
    						realFilename + "]");
    			}
    			else
    			{
    				if(log.isBasic()) log.logBasic(toString(), "Waiting " + iMaximumTimeout + " seconds for file [" +
    						realFilename + "]");
    			}

    			boolean continueLoop = true;
    			while ( continueLoop && !parentJob.isStopped() )
    			{
        			fileObject = KettleVFS.getFileObject(realFilename);

    				if ( fileObject.exists() )
    				{
    					// file exists, we're happy to exit
    					if(log.isBasic()) log.logBasic(toString(), "Detected file [" + realFilename + "] within timeout");
    					result.setResult( true );
    					continueLoop = false;
    					
    					//add filename to result filenames
    					if(addFilenameToResult && fileObject.getType()==FileType.FILE){
    						ResultFile resultFile = new ResultFile(ResultFile.FILE_TYPE_GENERAL , fileObject, parentJob.getName(), toString());
    						resultFile.setComment(Messages.getString("JobWaitForFile.FilenameAdded"));
    						result.getResultFiles().put(resultFile.getFile().toString(), resultFile);
    					 	}
    				}
    				else
    				{
    					long now = System.currentTimeMillis() / 1000;

    					if ( (iMaximumTimeout > 0) &&
    							(now > (timeStart + iMaximumTimeout)))
    					{
    						continueLoop = false;

    						// file doesn't exist after timeout, either true or false
    						if ( isSuccessOnTimeout() )
    						{
    							if(log.isBasic()) log.logBasic(toString(), "Didn't detect file [" + realFilename + "] before timeout, success");
    							result.setResult( true );
    						}
    						else
    						{
    							if(log.isBasic()) log.logBasic(toString(), "Didn't detect file [" + realFilename + "] before timeout, failure");
    							result.setResult( false );
    						}
    					}